▶︎ Docker
도커는 컨테이너 런타임을 포함한 종합적인 컨테이너 플랫폼으로,
컨테이너 생성, 관리, 배포, 저장소 관리 등의 기능을 통합적으로 제공합니다.
▶︎ containerd
containerd는 도커에서 분리된 컨테이너 런타임 입니다.
컨테이너 런타임은 도커의 핵심 컴포넌트 중 하나이며, 컨테이너 생애주기 관리와 이미지 관리를 담당합니다.
containerd는 컨테이너를 시작하고 종료하는데 필요한 핵심 동작을 담당하며, 도커외 다른 컨테이너 관리 도구에서도 사용할 수 있습니다.
▶︎ k8s에서 런타임으로 사용될 때 차이
k8s의 컨테이너 런타임으로 도커를 사용하는 것과 분리된 containerd를 사용하는 것에는 차이가 있습니다.
‣ containerd
containerd를 사용하는 경우에는 각 pods를 보는 명령어를 실행했을 때,
containerd가 중지된 상태에서도 확인이 가능합니다. (다른 삭제나 생성 등의 명령어도 정상적으로 동작합니다.)
즉, API 서버가 정상적으로 동작합니다.
kubectl stop containerd
kubectl get pods‣ docker
하지만, 컨테이너 런타임으로 도커를 사용중이라면 도커를 중지시킨 후,
pods 명령어를 치더라도 API 서버로 명령어가 도달하지 못하기에 출력되지 않습니다.
systemctl stop docker
kubectl get pods